home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / RIncludes / Dialogs.r < prev    next >
Encoding:
Text File  |  1998-08-17  |  9.6 KB  |  359 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Dialogs.r
  3.  
  4.      Contains:    Dialog Manager interfaces.
  5.  
  6.      Version:    Technology:    Mac OS 8.1
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17.  
  18. #ifndef __DIALOGS_R__
  19. #define __DIALOGS_R__
  20.  
  21. #ifndef __CONDITIONALMACROS_R__
  22. #include "ConditionalMacros.r"
  23. #endif
  24.  
  25. #ifndef __MACWINDOWS_R__
  26. #include "MacWindows.r"        /* for 'wctb' */
  27. #endif
  28.  
  29.                                                             /*  Alert types to pass into StandardAlert  */
  30. #define kAlertStopAlert                 0
  31. #define kAlertNoteAlert                 1
  32. #define kAlertCautionAlert                 2
  33. #define kAlertPlainAlert                 3
  34.  
  35. #define kAlertDefaultOKText             (-1)                /*  "OK" */
  36. #define kAlertDefaultCancelText         (-1)                /*  "Cancel" */
  37. #define kAlertDefaultOtherText             (-1)                /*  "Don't Save" */
  38.  
  39. #define kAlertStdAlertOKButton             1
  40. #define kAlertStdAlertCancelButton         2
  41. #define kAlertStdAlertOtherButton         3
  42. #define kAlertStdAlertHelpButton         4
  43.  
  44.                                                             /*  Dialog Flags for use in NewFeaturesDialog or dlgx resource  */
  45. #define kDialogFlagsUseThemeBackground     0x01
  46. #define kDialogFlagsUseControlHierarchy  0x02
  47. #define kDialogFlagsHandleMovableModal     0x04
  48. #define kDialogFlagsUseThemeControls     0x08
  49.  
  50.                                                             /*  Alert Flags for use in alrx resource  */
  51. #define kAlertFlagsUseThemeBackground     0x01
  52. #define kAlertFlagsUseControlHierarchy     0x02
  53. #define kAlertFlagsAlertIsMovable         0x04
  54. #define kAlertFlagsUseThemeControls     0x08
  55.  
  56. #define kDialogFontNoFontStyle             0
  57. #define kDialogFontUseFontMask             0x0001
  58. #define kDialogFontUseFaceMask             0x0002
  59. #define kDialogFontUseSizeMask             0x0004
  60. #define kDialogFontUseForeColorMask     0x0008
  61. #define kDialogFontUseBackColorMask     0x0010
  62. #define kDialogFontUseModeMask             0x0020
  63. #define kDialogFontUseJustMask             0x0040
  64. #define kDialogFontUseAllMask             0x00FF
  65. #define kDialogFontAddFontSizeMask         0x0100
  66. #define kDialogFontUseFontNameMask         0x0200
  67. #define kDialogFontAddToMetaFontMask     0x0400
  68.  
  69.  
  70. /*----------------------------wctb • Alert Color Lookup Table--------------------------*/
  71. type 'actb' as 'wctb';
  72.  
  73.  
  74. /*----------------------------ALRT • Alert Template-------------------------------------*/
  75. /*
  76.     ALRT_RezTemplateVersion:
  77.         0 - original                             <-- default
  78.         1 - additional positioning info at end    
  79. */
  80. #ifndef ALRT_RezTemplateVersion
  81.     #define ALRT_RezTemplateVersion 1
  82. #endif
  83.  
  84.  
  85. type 'ALRT' {
  86.         rect;                                                    /* boundsRect            */
  87.         integer;                                                /* 'DITL' ID            */
  88.  
  89.         /* NOTE: the stages are ordered 4, 3, 2, 1 */
  90.         wide array [4] {
  91.                 boolean                 OK, Cancel;             /* Bold Outline         */
  92.                 boolean                 invisible, visible;     /* Draw Alert            */
  93.                 unsigned bitstring[2]    silent = 0
  94.                                 sound1, sound2, sound3;         /* Beeps                */
  95.         };
  96.  
  97. #if ALRT_RezTemplateVersion == 1
  98.     /*    The following are alert positioning options used by System 7.0 and later */
  99.         unsigned integer                noAutoCenter = 0x0000,
  100.                                         centerMainScreen = 0x280a,
  101.                                         alertPositionMainScreen = 0x300a,
  102.                                         staggerMainScreen = 0x380a,
  103.                                         centerParentWindow = 0xa80a,
  104.                                         alertPositionParentWindow = 0xb00a,
  105.                                         staggerParentWindow = 0xb80a,
  106.                                         centerParentWindowScreen = 0x680a,
  107.                                         alertPositionParentWindowScreen = 0x700a,
  108.                                         staggerParentWindowScreen = 0x780a;
  109. #endif
  110. };
  111.  
  112. /* stages for ALRT */
  113. #define silentStage OK, visible, silent
  114. #define silentStages { silentStage; silentStage; silentStage; silentStage; }
  115.  
  116. #define beepStage OK, visible, sound1
  117. #define beepStages { beepStage; beepStage; beepStage; beepStage; }
  118.  
  119.  
  120. /*----------------------------dctb • Dialog Color Lookup Table--------------------------*/
  121. type 'dctb' as 'wctb';
  122.  
  123.  
  124. /*----------------------------DITL • Dialog Item List-----------------------------------*/
  125. type 'DITL' {
  126.         integer = $$CountOf(DITLarray) - 1;                     /* Array size            */
  127.         wide array DITLarray {
  128.                 fill long;
  129.                 rect;                                            /* Item bounds            */
  130.                 switch {
  131.  
  132.                 case HelpItem:                                    /* Help Mgr type item */
  133.                         boolean         enabled,disabled;        /* Enable flag            */
  134.                         key bitstring[7] = 1;                    /* this is a new type = 1 */
  135.  
  136.                         switch {
  137.                             case HMScanhdlg:
  138.                                 byte = 4;                        /* sizeola                */
  139.                                 key int = 1;                    /* key value             */
  140.                                 integer;                        /* resource ID            */
  141.  
  142.                             case HMScanhrct:
  143.                                 byte = 4;                        /* sizeola                */
  144.                                 key int = 2;                    /* key value             */
  145.                                 integer;                        /* resource ID            */
  146.  
  147.                             case HMScanAppendhdlg:
  148.                                 byte = 6;                        /* sizeola                */
  149.                                 key int = 8;                    /* key value             */
  150.                                 integer;                        /* resource ID            */
  151.                                 integer;                        /* offset (zero based)    */
  152.                         };
  153.  
  154.  
  155.                 case Button:
  156.                         boolean         enabled,disabled;        /* Enable flag            */
  157.                         key bitstring[7] = 4;
  158.                         pstring;                                /* Title                */
  159.  
  160.                 case CheckBox:
  161.                         boolean         enabled,disabled;        /* Enable flag            */
  162.                         key bitstring[7] = 5;
  163.                         pstring;                                /* Title                */
  164.  
  165.                 case RadioButton:
  166.                         boolean         enabled,disabled;        /* Enable flag            */
  167.                         key bitstring[7] = 6;
  168.                         pstring;                                /* Title                */
  169.  
  170.                 case Control:
  171.                         boolean         enabled,disabled;        /* Enable flag            */
  172.                         key bitstring[7] = 7;
  173.                         byte = 2;
  174.                         integer;                                /* 'CTRL' ID            */
  175.  
  176.                 case StaticText:
  177.                         boolean         enabled,disabled;        /* Enable flag            */
  178.                         key bitstring[7] = 8;
  179.                         pstring;                                /* Text                 */
  180.  
  181. #if !TARGET_OS_MAC
  182.  
  183.                 case StaticTextRightJust:
  184.                         boolean         enabled,disabled;        /* Enable flag            */
  185.                         key bitstring[7] = 9;
  186.                         pstring;                                /* Text                    */
  187.  
  188.                 case EditTextScrollable:
  189.                         boolean         enabled,disabled;        /* Enable flag            */
  190.                         key bitstring[7] = 17;
  191.                         pstring;
  192.                                                                 /* Text                 */
  193.                 case EditTextReadOnlyScrollable:
  194.                         boolean         enabled,disabled;        /* Enable flag            */
  195.                         key bitstring[7] = 18;
  196.                         pstring;                                /* Text                 */
  197.  
  198. #endif
  199.  
  200.                 case EditText:
  201.                         boolean         enabled,disabled;        /* Enable flag            */
  202.                         key bitstring[7] = 16;
  203.                         pstring;                                /* Text                 */
  204.                 case Icon:
  205.                         boolean         enabled,disabled;        /* Enable flag            */
  206.                         key bitstring[7] = 32;
  207.                         byte = 2;
  208.                         integer;                                /* 'ICON' ID            */
  209.  
  210.                 case Picture:
  211.                         boolean         enabled,disabled;        /* Enable flag            */
  212.                         key bitstring[7] = 64;
  213.                         byte = 2;
  214.                         integer;                                /* 'PICT' ID            */
  215.  
  216.                 case UserItem:
  217.                         boolean         enabled,disabled;        /* Enable flag            */
  218.                         key bitstring[7] = 0;
  219.                         byte = 0;
  220.                 };
  221.                 align word;
  222.         };
  223. };
  224.  
  225.  
  226. /*----------------------------DLOG • Dialog Template------------------------------------*/
  227. /*
  228.     DLOG_RezTemplateVersion:
  229.         0 - original                             <-- default
  230.         1 - additional positioning info at end    
  231. */
  232. #ifndef DLOG_RezTemplateVersion
  233.     #define DLOG_RezTemplateVersion 1
  234. #endif
  235.  
  236.  
  237. type 'DLOG' {
  238.         rect;                                                    /* boundsRect            */
  239.         integer         documentProc,                            /* procID                */
  240.                         dBoxProc,
  241.                         plainDBox,
  242.                         altDBoxProc,
  243.                         noGrowDocProc,
  244.                         movableDBoxProc,
  245.                         zoomDocProc = 8,
  246.                         zoomNoGrow = 12,
  247.                         rDocProc = 16;
  248.         byte            invisible, visible;                     /* visible                */
  249.         fill byte;
  250.         byte            noGoAway, goAway;                        /* goAway                */
  251.         fill byte;
  252.         unsigned hex longint;                                    /* refCon                */
  253.         integer;                                                /* 'DITL' ID            */
  254.         pstring;                                                /* title                */
  255. #if DLOG_RezTemplateVersion == 1
  256.     /*    The following are window positioning options used by System 7.0 and later */
  257.         align word;
  258.         unsigned integer                noAutoCenter = 0x0000,
  259.                                         centerMainScreen = 0x280a,
  260.                                         alertPositionMainScreen = 0x300a,
  261.                                         staggerMainScreen = 0x380a,
  262.                                         centerParentWindow = 0xa80a,
  263.                                         alertPositionParentWindow = 0xb00a,
  264.                                         staggerParentWindow = 0xb80a,
  265.                                         centerParentWindowScreen = 0x680a,
  266.                                         alertPositionParentWindowScreen = 0x700a,
  267.                                         staggerParentWindowScreen = 0x780a;
  268. #endif
  269. };
  270.  
  271.  
  272.  
  273. /*----------------------------alrx • Extended Alert Template---------------------------*/
  274. type 'alrx'
  275. {
  276.     switch
  277.     {
  278.         case versionZero:
  279.             key integer=0;
  280.  
  281.             unsigned longint;                /* flags */
  282.             longint;                        /* refCon */
  283.             byte        kUseClassicWindow,
  284.                         kUseThemeWindow;    /* Window type */
  285.             fill byte;                        /* filler */
  286.             fill long;                        /* filler */
  287.             fill long;                        /* filler */
  288.             fill long;                        /* filler */
  289.             fill long;                        /* filler */
  290.             pstring;                        /* title (movable only) */
  291.             
  292.         case versionOne:
  293.             key integer=1;
  294.  
  295.             unsigned longint;                /* flags */
  296.             longint;                        /* refCon */
  297.             byte        kUseClassicWindow,
  298.                         kUseThemeWindow;    /* Window type */
  299.             fill byte;                        /* filler */
  300.             pstring;                        /* title (movable only) */
  301.     };
  302. };
  303.  
  304.  
  305. /*----------------------------dlgx • Extended Dialog Template---------------------------*/
  306. type 'dlgx'
  307. {
  308.     switch
  309.     {
  310.         case versionZero:
  311.             key integer=0;
  312.  
  313.             unsigned longint;                /* flags */
  314.     };
  315. };
  316.  
  317.  
  318. /*-----------------------------dftb • Dialog Control Font Table--------------------------*/
  319. type 'dftb'
  320. {
  321.     switch
  322.     {
  323.         case versionZero:
  324.             key integer = 0;    /* version */
  325.  
  326.             integer = $$Countof(FontStyle);
  327.             array FontStyle
  328.             {
  329.                 switch
  330.                 {
  331.                     case skipItem:
  332.                         key integer=0;
  333.                         
  334.                     case dataItem:
  335.                         key integer=1;integer;                                /* Flags        */
  336.                         integer;                                            /* Font ID        */
  337.                         integer;                                            /* Font Size    */
  338.                         integer;                                            /* Font Style    */
  339.                         integer;                                            /* Text Mode    */
  340.                         integer;                                            /* Justification */
  341.  
  342.                         unsigned integer;                                    /* ForeColor:    red        */
  343.                         unsigned integer;                                    /*                green    */
  344.                         unsigned integer;                                    /*                blue    */
  345.  
  346.                         unsigned integer;                                    /* BackColor:    red        */
  347.                         unsigned integer;                                    /*                green    */
  348.                         unsigned integer;                                    /*                blue    */
  349.  
  350.                         pstring;                                            /* Font Name */
  351.                 };
  352.             };
  353.     };
  354. };
  355.  
  356.  
  357. #endif /* __DIALOGS_R__ */
  358.  
  359.